The present disclosure generally relates to performance testing, and more particularly relates to identifying performance anti-patterns to aid in the identification of performance issues.
Performance is a critical dimension of quality and a major concern of any software project. Performance testing is a complex and time-consuming practice. Every aspect of the design, code, and execution environment of software is influenced by performance. Its pervasive nature makes it a critical dimension of quality, especially at enterprise levels, as it plays a central role in software usability. The latest trends in information technology (such as Cloud computing and Service Oriented Architecture) have added to its complexity. Performance issues can materialize into serious problems, such as outages in production environments.
A large body of knowledge exists in the area of pattern detection, as applied to performance testing. In contrast, the literature in the area of anti-pattern detection is not as extensive, yet some knowledge exists. For example, automatic identification of “bad smell” design problems has been documented, using software metrics to develop an interpretation rule framework. Anti-patterns to identify performance issues have not been considered.